---
title: "Builtin Objects"
---

PipyJS implemented a subset of the core ECMAScript builtin objects including Number, String and Array, etc. Here's a list of the supported classes and their properties and methods. For detailed information, please refer to [Standard built-in objects](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects) on MDN.

# Number

PipyJS implementation of Number supports the following properties and methods:

* `EPSILON`
* `MAX_SAFE_INTEGER`
* `MAX_VALUE`
* `MIN_SAFE_INTEGER`
* `MIN_VALUE`
* `NaN`
* `NEGATIVE_INFINITY`
* `POSITIVE_INFINITY`
* `toExponential()`
* `toFixed()`
* `toPrecision()`

Refer to [Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) on MDN for details.

# String

PipyJS implementation of String supports the following properties and methods:

* `length`
* `charAt()`
* `charCodeAt()`
* `codePointAt()`
* `concat()`
* `endsWith()`
* `fromCharCode()`
* `fromCodePoint()`
* `includes()`
* `indexOf()`
* `lastIndexOf()`
* `match()`
* `padEnd()`
* `padStart()`
* `repeat()`
* `replace()`
* `replaceAll()`
* `search()`
* `slice()`
* `split()`
* `startsWith()`
* `substring()`
* `toLowerCase()`
* `toUpperCase()`
* `trim()`
* `trimEnd()`
* `trimStart()`

Refer to [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) on MDN for details.

# Array

PipyJS implementation of Array supports the following methods:

* `length`
* `concat()`
* `copyWithin()`
* `every()`
* `fill()`
* `filter()`
* `find()`
* `findIndex()`
* `flat()`
* `flatMap()`
* `forEach()`
* `includes()`
* `indexOf()`
* `join()`
* `lastIndexOf()`
* `map()`
* `pop()`
* `push()`
* `reduce()`
* `reduceRight()`
* `reverse()`
* `shift()`
* `slice()`
* `some()`
* `sort()`
* `splice()`
* `unshift()`

Refer to [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) on MDN for details.

# RegExp

Currently, PipyJS does NOT support [regular expression literals](https://developer.mozilla.org/docs/Web/JavaScript/Guide/Grammar_and_Types#regexp_literals), but you can "_new_" RegExp objects.
PipyJS implementation of RegExp supports the following methods:

* `source`
* `global`
* `ignoreCase`
* `lastIndex`
* `exec`
* `test`

Refer to [RegExp](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp) on MDN for details.

# Math

PipyJS implementation of Math supports the following properties and methods:

* `E`
* `LN10`
* `LN2`
* `LOG10E`
* `LOG2E`
* `PI`
* `SQRT1_2`
* `SQRT2`
* `abs()`
* `acos()`
* `acosh()`
* `asin()`
* `asinh()`
* `atan()`
* `atanh()`
* `atan2()`
* `cbrt()`
* `ceil()`
* `clz32()`
* `cos()`
* `cosh()`
* `exp()`
* `expm1()`
* `floor()`
* `fround()`
* `hypot()`
* `imul()`
* `log()`
* `log1p()`
* `log10()`
* `log2()`
* `max()`
* `min()`
* `pow()`
* `random()`
* `round()`
* `sign()`
* `sin()`
* `sqrt()`
* `tan()`
* `tanh()`
* `trunc()`

Refer to [Math](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Math) on MDN for details.

# Date

PipyJS implementation of Date supports the following methods:

* `getDate()`
* `getDay()`
* `getFullYear()`
* `getHours()`
* `getMilliseconds()`
* `getMinutes()`
* `getMonth()`
* `getSeconds()`
* `getTime()`
* `now()`
* `setDate()`
* `setFullYear()`
* `setHours()`
* `setMilliseconds()`
* `setMinutes()`
* `setMonth()`
* `setSeconds()`
* `setTime()`
* `toDateString()`
* `toTimeString()`
* `toISOString()`
* `toUTCString()`

Refer to [Date](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date) on MDN for details.
